#include "bootpack.h"
#include <stdio.h>

void init_pic(void)
/* PIC初始化 */
{
	io_out8(PIC0_IMR, 0xff);     /* 禁止所有中断 */
	io_out8(PIC1_IMR, 0xff);     /* 禁止所有中断 */

	io_out8(PIC0_ICW1, 0x11);  	 /* 边缘触发模式 */
	io_out8(PIC0_ICW2, 0x20);  	 /* IRQ0-7由INT0-27接受 */
	io_out8(PIC0_ICW3, 1 << 2);	 /* PIC1由IQR2连接 */
	io_out8(PIC0_ICW4, 0x01);  	 /* 无缓存模式 */

	io_out8(PIC1_ICW1, 0x11);	 /* 边缘触发模式 */
	io_out8(PIC1_ICW2, 0x28); 	 /* IRQ8-15由INT028-2f接受 */
	io_out8(PIC1_ICW3, 2);   	 /* PIC1由IQR2连接 */
	io_out8(PIC1_ICW4, 0x01);    /* 无缓存模式 */

	io_out8(PIC0_IMR, 0xfb);     /* 11111011 PIC1以外全部静止 */
	io_out8(PIC1_IMR, 0xff);     /* 11111111 静止所以中断 */
 
	return;
}

